Cloud computing is typically used to describe a variety of computing concepts that involve a large quantity of computers connected over a network (e.g., internet connection). These computing concepts of cloud computing often include a collection of server computers, where the server computers run a number of workloads which are received from the users of the cloud. The workloads, along with virtual server hosting, often have a limited amount of physical resources capable of fulfilling such services. A cloud service provider typically has to maintain an infrastructure for cloud computing, where the infrastructure can consist of server computers, storage, networks, software, cooling systems, and any other type of overhead associated with cloud computing infrastructures.
The amount of workloads the cloud service provider receives can exceed the operational boundaries of the infrastructure. For example, there may not be enough computing power to run the workloads, resulting in workloads being placed in a queue. For the cloud service provider, this may not be an optimal business plan, since certain workloads may have higher priority than other workloads based on a number of factors. Typically, for the cloud service provider, an important aspect of optimal placement of workloads is the placement providing maximum profits and minimizing losses in proportion to operational costs.